package com.linwen.excise.sort;

/**
 * 选择排序
 * 算法思想简单，但是实际使用中来说最没用：算法时间复杂度为n^2，且是不稳定的。
 * 每次在剩余元素中找到一个最小的元素往有序元素后面排
 *
 * @author lin
 * param array
 * return
 */
public class _01SelectionSort {
    public void selectionSort(int[] array) {
        for (int i = 0; i < array.length - 1; i++) {
            int minIndex = i;
            for (int j = i + 1; j < array.length; j++) {
                minIndex = array[j] < array[minIndex] ? j : minIndex;
            }
            Sortutil.swap2(array, i, minIndex);
        }
    }
}
